Concepts and Techniques in Software Watermarking and Obfuscation
نویسندگان
چکیده
With the rapid development of the internet, copying a digital document is so easy and economically affordable that digital piracy is rampant. As a result, software protection has become a vital issue in current computer industry and a hot research topic. Software watermarking and obfuscation are techniques to protect software from unauthorized access, modification, and tampering. While software watermarking tries to insert a secret message called software watermark into the software program as evidence of ownership, software obfuscation translates software into a semanticallyequivalent one that is hard for attackers to analyze. In this thesis, firstly, we present a survey of software watermarking and obfuscation. Then we formalize two important concepts in software watermarking: extraction and recognition and we use a concrete software watermarking algorithm to illustrate issues in these two concepts. We develop a technique called the homomorphic functions through residue numbers to obfuscate variables and data structures in software programs. Lastly, we explore the complexity issues in software watermarking and obfuscation.
منابع مشابه
Self-validating Branch-Based Software Watermarking
Software protection is an area of active research in which a variety of techniques have been developed to address the issue. Examples of such techniques are software watermarking, code obfuscation, and tamper detection. In this paper we present a novel dynamic software watermarking algorithm which incorporates ideas from code obfuscation and tamper detection. Our technique simultaneously provid...
متن کاملمدیریت کلید در سیستمهای مدیریت حقوق دیجیتال در حالت برونخطی
By expanding application of digital content in the world of information technology, supervision and control over the data, and also preventing the copy of documents is considered. In this relation digital rights management systems are responsible for the secure distribution of digital content, and for this purpose the common functions in the field of cryptography and utilize Digital watermarkin...
متن کاملOpaque Predicates Detection by Abstract Interpretation
Code obfuscation and software watermarking are well known techniques designed to prevent the illegal reuse of software. Code obfuscation prevents malicious reverse engineering, while software watermarking protects code from piracy. An interesting class of algorithms for code obfuscation and software watermarking relies on the insertion of opaque predicates. It turns out that attackers based on ...
متن کاملPerturbated Functions: a new approach to Obfuscation and Diversity
This paper presents a method for transforming a function into a combination of correlated perturbated functions by splitting its input space into sub-spaces, assigning each to a different function in such a way that a majority vote on their outputs will always yield the correct initial functions output. This novel technique allows function obfuscation and implementation diversication. Applicati...
متن کاملWaterRPG: A Graph-based Dynamic Watermarking Model for Software Protection
Software watermarking involves embedding a unique identifier or, equivalently, a watermark value within a software to prove owner’s authenticity and thus to prevent or discourage copyright infringement. Towards the embedding process, several graph theoretic watermarking algorithmic techniques encode the watermark values as graph structures and embed them in application programs. Recently, we pr...
متن کامل